home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Belgian Amiga Club - ADF Collection
/
BS1 part 41.zip
/
BS1 part 41
/
Abacus diskdrives IO.adf
/
CH4
/
Program5.bas
< prev
next >
Wrap
BASIC Source File
|
1978-06-28
|
2KB
|
86 lines
'Programm 5:
DECLARE FUNCTION Examine& LIBRARY
DECLARE FUNCTION ExNext& LIBRARY
DECLARE FUNCTION Lock& LIBRARY
DECLARE FUNCTION AllocMem& LIBRARY
DECLARE FUNCTION IoErr& LIBRARY
LIBRARY "ram:exec.library"
LIBRARY "ram:dos.library"
more2:
INPUT "Directory ";Dir$
Hello%=-2
Dir$=Dir$+CHR$(0)
bytes&=252
lock2&=Lock&(SADD(Dir$),Hello%)
opt&=2^1+2^16
info&=AllocMem&(bytes&,opt&)
suc&=Examine&(lock2&,info&)
more:
DirName&=info&+8
FOR search=0 TO 29
check=PEEK(DirName&+search)
IF check<>0 THEN
check$=check$+CHR$(check)
ELSE
search=29
END IF
NEXT search
DirName$=check$:check$=""
prot&=PEEKL(info&+116)
IF prot&<>0 THEN
IF (prot& AND 2^3)<>0 THEN prot$=prot$+"read "
IF (prot& AND 2^2)<>0 THEN prot$=prot$+"write "
IF (prot& AND 2^1)<>0 THEN prot$=prot$+"Execute "
IF (prot& AND 2^0)<>0 THEN prot$=prot$+"erase "
DirProt$=LEFT$(prot$,LEN(prot$)-1)
prot$="d"
END IF
type&=PEEKL(info&+120)
IF type&<0 THEN
DirType$="File"
ELSEIF counter%=0 THEN
DirType$="Directory"
ELSE
DirType$="Directory"
END IF
DirSize&=PEEKL(info&+124)
DirBlks&=PEEKL(info&+128)
FOR search=0 TO 79
check=PEEK(info&+144+search)
IF check<>0 THEN
check$=check$+CHR$(check)
ELSE
search=79
END IF
NEXT search
DirComm$=check$:check$=""
suc&=ExNext&(lock2&,info&)
IF suc&=0 THEN CLS:GOTO more2
CLS
LOCATE 5,3
COLOR 3:PRINT DirName$;:COLOR 1
PRINT " is a ";
COLOR 3:PRINT DirType$;:COLOR 1:PRINT "."
IF DirType$="Directory" THEN pause
PRINT " Following Protect-Options are used:"
PRINT:COLOR 2:PRINT " ";DirProt$:COLOR 1
pause:
PRINT :PRINT " Continue => Key New Dir => q"
pause2:
a$=INKEY$:IF a$="" THEN pause2
IF a$="q" THEN CLS:GOTO more2
GOTO more